package com.hk.service.product;

import java.math.BigDecimal;
import java.util.List;

import com.hk.commons.HqlFilter;
import com.hk.commons.entity.ProductRouteInfo;
import com.hk.commons.entity.product.ProductInfo;


public interface IProductRouteInfo {

    public ProductRouteInfo findById(Long id);

    /**
     * 根据product 获得 产品记录
     *
     * @param productid
     * @return
     */
    public ProductRouteInfo findByProductId(Long productid);

    /**
     * 根据productId, 活动companyRouteId
     *
     * @param productId
     * @return
     */
    public Integer getConmpanyRouteId(Long productId);

    /**
     * 保存
     *
     * @param u
     * @return
     */
    public Integer add(ProductRouteInfo u);

    /**
     * 删除
     */
    public Boolean deleteByProductId(Long id);

    public ProductInfo getInfoById(Long productId);


    /**
     * 根据条件获取产品
     *
     * @param companyId 公司id
     * @param prodTerm  产品期限
     * @param rate      产品收益
     * @return
     */
    public ProductInfo getByInfo(Integer companyId, Integer prodTerm, BigDecimal rate);

    public Long addProduct(ProductInfo model);

    /**
     * 更新
     *
     * @param model
     */
    public Boolean updateProduct(ProductInfo model);


    public List<ProductRouteInfo> findByFilter(HqlFilter hqlFilter, int pageNum,
                                               int pageSize);

    public List<ProductRouteInfo> findByFilter(HqlFilter hqlFilter);

    public Long countByFilter(HqlFilter hqlFilter);
}
